package com.gitee.wsl.css.components

import com.gitee.wsl.css.selector.builder.ruleSet
import com.gitee.wsl.css.property.ClassNameGenerator
import com.gitee.wsl.css.property.Keyframes
import com.gitee.wsl.css.rule.RuleSet
import com.gitee.wsl.css.selector.Selector

interface PageInterface : ViewInterface {

    var useRtl: Boolean

    val classNameGenerator: ClassNameGenerator

    fun addRuleSetToDocument(ruleSet: RuleSet)

    fun addKeyframesToDocument(keyframes: Keyframes)

    /* Global styles */
    val baseStyles: BaseStyles

    override fun addRuleSetToView(ruleSet: RuleSet){ }

    operator fun Selector.invoke(rules: RuleSet.() -> Unit) = ruleSet(this,rules)
}